import BaseModel from './.model';
import { Table, Column, DataType, ForeignKey } from 'sequelize-typescript';
import UserModel from './user.model';

@Table({ tableName: 'addresses' })
export default class AddressModel extends BaseModel {
  /** 详细地址 */
  @Column({ type: DataType.STRING, comment: '详细地址' })
  address!: string;

  /** 城市名称 */
  @Column({ type: DataType.STRING, comment: '城市名称' })
  city!: string;

  /** 区县名称 */
  @Column({ type: DataType.STRING, comment: '区县名称' })
  district!: string;

  /** 是否为默认地址 */
  @Column({ type: DataType.BOOLEAN, comment: '是否为默认地址' })
  isDefault!: boolean;

  /** 省市区名称 */
  @Column({ type: DataType.STRING, comment: '省市区名称' })
  province!: string;

  /** 收货人姓名 */
  @Column({ type: DataType.STRING, comment: '收货人姓名' })
  receiverName!: string;

  /** 收货人电话 */
  @Column({ type: DataType.STRING, comment: '收货人电话' })
  receiverPhone!: string;

  /** 用户的ID */
  @ForeignKey(() => UserModel)
  @Column({ type: DataType.UUID, comment: '用户的ID' })
  userId!: string;

  /** 关联的用户信息 */
  user?: UserModel;
}
